#include<stdio.h>
#include<unistd.h>
#include<stdlib.h>

int g_val=100;

int main()
{

  pid_t id=fork();
  if(id==0)
  {
    //子进程
    //让子进程修改全局变量g_val 的值
    int flag=0;
    while(1)
    {
      printf("我是子进程，我的pid:%d ,ppid:%d ,g_val:%d ,&g_val:%p\n\n",getpid(),getppid(),g_val,&g_val);
      sleep(1);
      flag++;
      if(flag==3)
      {
        g_val=200;
        printf("我是子进程，全局变量g_val已被修改，请注意查看！\n");
      }
    }
  }
  else 
  {
    //父进程
    while(1)
    {
      printf("我是父进程，我的pid:%d ,ppid:%d ,g_val:%d ,&g_val:%p\n\n",getpid(),getppid(),g_val,&g_val);
      sleep(2);
    }
  }
  return 0;
}
